package com.study.common.transaction;

import org.springframework.data.redis.core.RedisTemplate;

import java.util.List;

/**
 * @author yaojinshan
 * @version 1.0
 * @description: 分布式事务示例
 * @date 2019/5/31 14:46
 */
public class DistributedTransactionsDemo {
    public static void main(String[] args) {
        //示例1： 在一次下单过程中  用户张三 使用了10积分  并使用了 红包 需要 同时更新 红包 和 积分系统
        DistributedTransactionsExecutor transactionsExecutor = new DistributedTransactionsExecutor();
        List<AbstarctDistributedTransaction> transactionsList = transactionsExecutor.getTransactionsList();
        RedisTemplate redisTemplate = null;
        transactionsList.add(new IntegeralDistributedTransaction("张三", "10", redisTemplate));
        transactionsList.add(new RedPacketDistributedTransaction("红包id1", "订单号", redisTemplate));
        transactionsExecutor.executeTransactions();
    }
}
